package jmm;

import java.util.concurrent.TimeUnit;

class Souce {
    private int number; // new了之后，就是内存中的共享变量

    public int getNumber() {
        return number;
    }

    public void changeNumber() {
        this.number = 20;
    }
}
/**
 * JMM = 可见性 + 原子性 + 有序性
 */
public class JMMDemo {
    public static void main(String[] args) {
        Souce souce = new Souce();
        new Thread(() -> {
            try { TimeUnit.MILLISECONDS.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); }
            souce.getNumber();
        }).start();
        while (souce.getNumber() != 20);

        System.out.println("finish");
    }
}
